package com.xbongbong.paas.field;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * @author: wufeng
 * @date: 2018/8/14 17:01
 * @desrcption: 默认值需要依赖显示的值
 */
@Getter
@Setter
@ToString
public class RelyPoJo implements Serializable {

    private static final long serialVersionUID = -8969816189060492874L;


    /**
     * 目标应用id
     */
    @NotNull(message = "请设置关联表")
    private Long sourceAppId;

    /**
     * 目标菜单模板id
     */
    @NotNull(message = "请设置关联表")
    private Long sourceMenuId;
    /**
     * 表单模板对应的表单id
     */
    @NotNull(message = "请设置关联表")
    private Long sourceFormId;
    /**
     *
     * 当前联动的字段，如果是子表单数据时，其格式为subForm_1.text_1，需要解析掉
     */
    // @NotEmpty(message = "请设置联动字段")
    private String displayField;
    /**
     * 联动显示的字段
     */
    @NotEmpty(message = "请设置联动显示字段")
    private String linkField;
    /**
     * 联动显示的字段类型，这个字段可能为空
     */
    private Integer linkFieldType;
    /**
     * 联动字段需要等于的字段
     */
    // @NotEmpty(message = "请设置联动比较字段")
    private String targetField;
    /**
     * 目标表单字段类型，这个字段可能为空
     */
    private Integer targetFieldType;

    /**
     * saas标识
     * @see com.xbongbong.pro.enums.SaasMarkEnum
     */
    private Integer sourceSaasMark;

    /**
     * 业务类型
     * @see com.xbongbong.saas.enums.XbbRefTypeEnum
     */
    private Integer sourceBusinessType;
    /**
     * 子字段数据联动
     */
    private List<SubRelyFieldPojo> subRelyFieldList;
    /**
     * 数据联动标题
     */
    private String title;

    /**
     * 数据联动多条件
     */
    private List<RelyConditionPoJo> condition;

}
